package com.gonsin.gview.annotations.board.tab;


import com.gonsin.gview.annotations.enums.ButtonAction;
import com.gonsin.gview.annotations.impl.EmptyTableDataPicker;
import com.gonsin.gview.annotations.board.GButton;
import com.gonsin.gview.annotations.data.GTableData;
import com.gonsin.gview.annotations.board.form.GForm;
import com.gonsin.gview.annotations.board.table.GTable;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface GTab {

    /**
     * 页面的标题
     */
    String title();

    /**
     * 该页面所需要的参数
     */
    String[] props() default {};

    // 以下内容只需要填其中一项

    /**
     * 表格
     * 直接实现@GTable表格
     */
    GTable table() default @GTable(enable = false, tableData = @GTableData(enable = false, keyName = ""));

    /**
     * 表单栏
     * 直接实现@GForm 表单
     */
    GForm form() default @GForm(enable = false, okButton = @GButton(enable = false, action = ButtonAction.NONE));

    /**
     * 通过viewName名字引用已有的其他view
     * @return
     */
    String viewName() default "";

    /**
     * 链接
     * 打开一个连接
     */
    String link() default "";

}
